This is another interesting piece of code.... test eax, eax ... this assembler instruction tests if the value of eax is equal to itself ... if it is it is equal ... so a je instruction jumps ... if it is not equal, it does not jump....
To crack this program we can change the je instruction into two nop instructions... and we are done...
We have seen here, that the call has put a value in eax.... something which is not equal to zero or a zero... In our
previous example we saw that the called Is_Serial_Valid call set some value in memory ... Here we see that the called
Is_Serial_Valid call sets the eax register of our processor to some value....
Step 4: Changing the original program...
So modify it :-)
1. Open Hiew.
2. Open the file within Hiew.
3. Find the Adress of the line in W32Dasm (it's on the status bar beginning with '@').
4. Press F5 in Hiew.
5. Enter the address you have found in (4) and press ENTER.
6. Press F3 - for activating the write option.
7. Press F2 - to change the instruction.
8. Replace the command by 'NOP' (without quotes), which means NO OPERATION.
9. Now a new command appeared in the next line.
10. Replace it by NOP too.
11. If another new instruction hasn't appeared, Press F9 to update the file.
12. Press F10 to exit.
13. Run the program and see the result.
If you didn't succeed, have any questions or need any additional information,
E-Mail me at sagid@netvision.net.il and I will answer all of your questions.